home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / Oberon⁄F™ 1.1 / Obx / Mod / Conv (.txt) < prev    next >
Encoding:
Oberon Document  |  1996-01-05  |  2.3 KB  |  65 lines  |  [oODC/obnF]

  1. Documents.StdDocumentDesc
  2. Documents.DocumentDesc
  3. Containers.ViewDesc
  4. Views.ViewDesc
  5. Stores.StoreDesc
  6. Documents.ModelDesc
  7. Containers.ModelDesc
  8. Models.ModelDesc
  9. Stores.ElemDesc
  10. TextViews.StdViewDesc
  11. TextViews.ViewDesc
  12. TextModels.StdModelDesc
  13. TextModels.ModelDesc
  14. TextModels.AttributesDesc
  15. Helvetica
  16. Helvetica
  17. Helvetica
  18. MODULE ObxConv;
  19.     IMPORT Files, Stores, TextModels, TextViews;
  20.     PROCEDURE ImportTEXT* (f: Files.File; VAR s: Stores.Store);
  21.         VAR r: Stores.Reader; t: TextModels.Model; w: TextModels.Writer;
  22.             ch: CHAR; len: LONGINT;
  23.     BEGIN
  24.         ASSERT(f # NIL, 20); ASSERT(s = NIL, 21);
  25.         (* ASSERT(f.type = "TEXT", 22);    (* the type is platform specific*) *)
  26.         r.ConnectTo(f); r.SetPos(0);
  27.         len := f.Length();
  28.         t := TextModels.dir.New(); w := t.NewWriter(NIL);
  29.         WHILE len # 0 DO
  30.             r.ReadChar(ch);
  31.             (* should translate character set here *)
  32.             w.WriteChar(ch); DEC(len)
  33.         END;
  34.         s := TextViews.dir.New(t)
  35.     END ImportTEXT;
  36.     PROCEDURE ExportTEXT* (s: Stores.Store; f: Files.File);
  37.         VAR w: Stores.Writer; t: TextModels.Model; r: TextModels.Reader;
  38.             len: LONGINT; ch: CHAR;
  39.     BEGIN
  40.         ASSERT(s # NIL, 20); ASSERT(f # NIL, 21); ASSERT(f.Length() = 0, 22);
  41.         ASSERT(s IS TextViews.View, 23);
  42.         w.ConnectTo(f); w.SetPos(0);
  43.         t := s(TextViews.View).ThisModel();
  44.         len := t.Length();
  45.         r := t.NewReader(NIL);
  46.         WHILE len # 0 DO
  47.             r.ReadChar(ch);
  48.             (* should convert character set here *)
  49.             w.WriteChar(ch);
  50.             DEC(len)
  51.         END
  52.     END ExportTEXT;
  53. END ObxConv.
  54. TextControllers.StdCtrlDesc
  55. TextControllers.ControllerDesc
  56. Containers.ControllerDesc
  57. Controllers.ControllerDesc
  58. TextRulers.StdRulerDesc
  59. TextRulers.RulerDesc
  60. TextRulers.StdStyleDesc
  61. TextRulers.StyleDesc
  62. TextRulers.AttributesDesc
  63. Helvetica
  64. Documents.ControllerDesc
  65.